home *** CD-ROM | disk | FTP | other *** search
/ Tiger Disk 136 / Tiger_Disk_136_20xx_Tiger-Crew-Disk_de_Side_B.d64 / firemath [td] (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  5KB  |  168 lines

  1. 1 ifpeek(816)=165andpeek(817)=244then20
  2. 10 print"[147] kill cartridge ! ":end
  3. 20 poke56,48:poke55,0:clr:poke53280,15:poke53281,15
  4. 30 print"[147][144]   loesche das feuer durch das loesen"
  5. 40 printtab(10)"der rechen-aufgaben!"
  6. 50 fori=1to191:reada:x=x+a:next
  7. 60 ifx<>17240thenprint"error in data statements.":stop
  8. 70 restore:fori=679to725:reada:pokei,a:next:x=rnd(-ti)
  9. 80 data120,165,1,41,251,133,1,169,208,133
  10. 90 data252,169,48,133,254,169,0,133,251,133
  11. 100 data253,162,8,160,0,177,251,145,253,200
  12. 110 data208,249,230,252,230,254,202,208,242,165
  13. 120 data1,9,4,133,1,88,96
  14. 130 x=0:forn=12288to12298:x=x+peek(n):next:ifx<>822thengosub1460
  15. 140 dimp%(9):poke53272,29
  16. 150 d$="":tu$="020102019352517271727126"
  17. 160 bf$="@@@@@@@@@@@@@@@":fl$="aaaaaaaaaaaaaaa"
  18. 170 uu$="whoops...uh-oh... eek!!!   oh, no!  ouch!!!  look out!stop!    "
  19. 180 uu$=uu$+"drop!    roll!    help!!!  "
  20. 190 b$="[213][192][192][192][192][192][192][192][192][192][201][157][157][157][157][157][157][157][157][157][157][157][221]         [221][157][157][157][157][157][157][157][157][157][157][157][202][192][178][192][192][192][192][192][192][192][203]"
  21. 200 b$=b$+"[157][157][157][157][157][157][157][157][157][157][157][192][192][203]"
  22. 210 bs$="           [157][157][157][157][157][157][157][157][157][157][157]           [157][157][157][157][157][157][157][157][157][157][157]           "
  23. 220 bs$=bs$+"[157][157][157][157][157][157][157][157][157][157][157]   "
  24. 230 s=54272:forn=sto54295:poken,0:next:poken,15:rem setup sound
  25. 240 pokes+2,0:pokes+3,8:pokes+5,15:pokes+6,255
  26. 250 pp=4000:forn=0to9:p%(n)=pp:pp=pp*2^(1/12):next
  27. 260 rem init sprites
  28. 270 x1=53248:y1=53249:x2=53250:y2=53251
  29. 280 pokex1,0:pokey1,170:pokex2,0:pokey2,184:poke53264,3
  30. 290 poke53287,15:poke53288,15:poke53277,1:poke53271,1:poke2040,14:poke2041,13
  31. 300 rem pick type
  32. 310 print"[147][144]waehle die art der aufgaben :"
  33. 320 print"(1) addieren":print"(2) subtrahieren"
  34. 330 print"(3) multiplizieren":print"(4) dividieren":poke198,0
  35. 340 gett$:ift$<"1"ort$>"4"then340
  36. 350 rem pick level
  37. 360 print"[147]wahle den schwierigkeitsgrad:"
  38. 370 print"(1) neuling":print"(2) fortgeschritten"
  39. 380 print"(3) einstein":poke198,0
  40. 390 getwh$:ifwh$<"1"orwh$>"3"then390
  41. 400 wh=15+(4-val(wh$))*15
  42. 410 print"[147]du hast"wh"sekunden, um das feuer":print"zu loeschen!"
  43. 420 print"los mit return[146] ...":poke198,0
  44. 430 geta$:ifa$<>chr$(13)then430
  45. 440 rem main loop
  46. 450 print"[147]":gosub570:ti$="000000":pr=1
  47. 460 gosub810
  48. 470 printleft$(d$,6+pr)spc(9)"[144] "x$" "o$" "y$" "
  49. 480 fl=0:gosub980
  50. 490 iffl=1thengosub1180:goto520
  51. 500 pr=pr+1:ifpr<11then460
  52. 510 gosub1290
  53. 520 print"[129]nochmal ? (j/n)":poke198,0
  54. 530 geta$:ifa$="n"thenpoke53269,0:print"[147]":end
  55. 540 ifa$<>"j"then530
  56. 550 poke53269,0:print"[147]":goto260
  57. 560 rem init scene
  58. 570 gosub1390:printleft$(d$,17)spc(5)"[151]   a           "
  59. 580 printleft$(d$,7);:forn=1to10:printspc(5)"[151]"fl$:next:de=60:gosub1140
  60. 590 forn=10to1step-1:pokes+4,129:forz=4to20:pokes+1,z:next
  61. 600 printleft$(d$,n+6)spc(5)"[129]"bf$:pokes+1,0:de=5:gosub1140
  62. 610 printleft$(d$,n+3)spc(20)"[144]"b$
  63. 620 printleft$(d$,n+4)spc(21)"[149]"mid$(uu$,(11-n-1)*9+1,9):de=20:gosub1140
  64. 630 printleft$(d$,n+3)spc(20)bs$:next
  65. 640 rem enter truck
  66. 650 pokes+4,65:poke53264,3:poke53269,3:pokex1,140:pokex2,140:poke53287,7
  67. 660 poke53288,2:forx=400to200step-2:xx=x:ifxx>255thenxx=xx-255
  68. 670 ifxx>=254thenpoke53264,2
  69. 680 pokex1,xx:xx=x+32:ifxx>255thenxx=xx-255
  70. 690 ifxx>=254thenpoke53264,0
  71. 700 pokex2,xx:sn=sn+1:ifsn<7thenpokes+1,30
  72. 710 ifsn>6thenpokes+1,23
  73. 720 ifsn>12thensn=0
  74. 730 next:pokes+1,0
  75. 740 rem ladder up
  76. 750 forn=18to7step-1:printleft$(d$,n)spc(24)"[152]a":pokes+1,240-10*n:next
  77. 760 pokes+1,0:pokes+4,16
  78. 770 rem fireman up
  79. 780 pokex2,208:forn=164to92step-1:pokey2,n:pokes+1,180-n:next:pokes+1,0
  80. 790 pokes+4,16:return
  81. 800 rem generate problem
  82. 810 onval(t$)gosub840,860,890,910
  83. 820 x$=mid$(str$(x),2):y$=mid$(str$(y),2):return
  84. 830 rem addition
  85. 840 gosub940:o$="+":aq$=str$(x+y):gosub960:return
  86. 850 rem subtraction
  87. 860 gosub940:ify>xthen860
  88. 870 k=x+y:aq$=str$(x):gosub960:x=k:o$="-":return
  89. 880 rem multiplication
  90. 890 gosub940:o$="x":aq$=str$(x*y):gosub960:return
  91. 900 rem division
  92. 910 gosub940:ifx=0ory=0then910
  93. 920 k=x*y:aq$=str$(x):gosub960:x=k:o$="/":return
  94. 930 rem generate two values
  95. 940 x=int(rnd(1)*10):y=int(rnd(1)*10):return
  96. 950 rem prune string
  97. 960 aq$=mid$(aq$,2):return
  98. 970 rem get answer
  99. 980 an$="":poke198,0
  100. 990 geta$:printleft$(d$,22)"zeit: "right$(ti$,2)
  101. 1000 ifval(right$(ti$,3))>whthenfl=1:return
  102. 1010 ifa$=chr$(13)then1040
  103. 1020 ifa$<"0"ora$>"9"then990
  104. 1030 an$=an$+a$:printleft$(d$,pr+6)spc(21)"[129]"an$:iflen(an$)<3then990
  105. 1040 ifan$=aq$thengosub1090:return
  106. 1050 printleft$(d$,pr+6)spc(30)"[144]no!!!":pokes+4,33:pokes+1,10:de=20:gosub1140
  107. 1060 pokes+1,0:pokes+4,32:printleft$(d$,pr+6)spc(30)"     "
  108. 1070 printleft$(d$,pr+6)spc(21)"   ":goto980
  109. 1080 rem right
  110. 1090 printleft$(d$,pr+6)spc(20)"[154][192][192][192][192]"
  111. 1100 pokes+4,129:pokes+1,90:de=20:gosub1140:pokes+4,128:pokes+1,0
  112. 1110 printleft$(d$,pr+6)spc(20)"    "
  113. 1120 printleft$(d$,pr+6)spc(5)"[151]"fl$:pokey2,peek(y2)+8:return
  114. 1130 rem delays
  115. 1140 tt=ti
  116. 1150 ifti-de<ttthen1150
  117. 1160 return
  118. 1170 rem burn it down
  119. 1180 printleft$(d$,22)"oops... zu lang...!":pokes+4,129
  120. 1190 forn=10to1step-1:pokes+1,210-n*20
  121. 1200 printleft$(d$,n+6)spc(5)"[129]"bf$:pokes+1,0:next:de=60:gosub1140
  122. 1210 forn=20to0step-1:pokes+1,n*10
  123. 1220 printleft$(d$,21-n)spc(5)"               ";:next
  124. 1230 printleft$(d$,17)spc(5)"[152] [169][144]            [152][223][146]"
  125. 1240 printleft$(d$,18)spc(5)"[152][169][144]            [152] [223]"
  126. 1250 printleft$(d$,19)spc(5)"[144][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  127. 1260 forn=1to8:x=int(rnd(1)*10)+8:y=int(rnd(1)*11)+6
  128. 1270 printleft$(d$,y)spc(x)"@":de=10:gosub1140:next:return
  129. 1280 rem all 10
  130. 1290 pokes+4,65:forn=1tolen(tu$)/2:p$=mid$(tu$,(n-1)*2+1,2)
  131. 1300 p=val(left$(p$,1)):de=val(right$(p$,1))*3
  132. 1310 p=p%(p):p1=int(p/256):p2=p-256*p1
  133. 1320 pokes,p2:pokes+1,p1:forp=1tode*20:next
  134. 1330 pokes,0:pokes+1,0:forp=1tode:next:next:pokes+4,64
  135. 1340 printleft$(d$,5)spc(20)""b$
  136. 1350 printleft$(d$,6)spc(21)"jaaa!!":pokes+4,129:forn=0to15step.1
  137. 1360 poke54296,n:pokes+1,10:next:forn=15to1step-.05:poke54296,n:next
  138. 1370 pokes+1,0:pokes+4,128:poke54296,15:return
  139. 1380 rem show level
  140. 1390 print""spc(20)"[149]level:";
  141. 1400 ifwh$="1"thenprint" [129]   neuling   "
  142. 1410 ifwh$="2"thenprint" [129] fortgeschr. "
  143. 1420 ifwh$="3"thenprint" [129]  einstein   "
  144. 1430 print""spc(20)"[149]zeit limit:";
  145. 1440 print"[129]"wh"[157] sec. ":return
  146. 1450 rem define sprites & 2 chars
  147. 1460 forn=0to64*2-1:reada:poke832+n,a:next
  148. 1470 sys679:forn=0to15:reada:poke12288+1024+n,a:next:return
  149. 1490 data0,30,0,0,63,0,0,127
  150. 1500 data224,0,18,16,0,34,0,0
  151. 1510 data18,0,0,12,0,0,30,0
  152. 1520 data0,63,0,7,255,0,7,239
  153. 1530 data0,7,223,0,0,127,0,0
  154. 1540 data127,0,0,127,0,0,127,0
  155. 1550 data0,54,0,0,54,0,0,54
  156. 1560 data0,0,54,0,0,126,0,184
  157. 1570 data0,0,0,0,0,0,0,0
  158. 1580 data0,0,0,0,0,0,0,0
  159. 1590 data0,0,0,0,0,0,0,0
  160. 1600 data0,0,0,0,0,0,30,0
  161. 1610 data0,50,255,254,98,85,84,194
  162. 1620 data85,84,255,255,254,255,137,255
  163. 1630 data255,186,255,243,154,231,204,185
  164. 1640 data153,18,255,164,12,0,24,0
  165. 1650 rem char data
  166. 1660 data146,214,215,247,247,254,252,060
  167. 1670 data255,129,129,129,129,129,129,255
  168.